Business entities and consumers are storing an ever increasing amount of digital data. For example, many commercial entities are in the process of digitizing their business records and other data, for example by hosting large amounts of data on web servers, file servers, and other databases. Techniques and mechanisms that facilitate efficient and cost effective storage of vast amounts of digital data are being implemented in storage systems. A storage system can include and be connected to multiple storage devices, such as physical hard disk drives, solid state drives, networked disk drives, as well as other storage media. The physical data blocks across the connected storage devices can be divided into numerous storage sectors and partitioned into one or more virtual volumes. Host operating systems, such as variants of Microsoft Windows, Linux or Unix distributions, and other operating systems, may be assigned one or more virtual volumes. The logical storage sectors presented to the host operating system may be of a different size than the underlying physical storage blocks. For example, a storage system that stores data in 4 kB physical data blocks may be presented to the host operating system in 512 byte logical blocks.
The assigned host operating system performs reads and writes (referred herein as “I/O access”) with the assigned virtual volume by accessing the logical blocks presented by the storage system to the host operating system. The host operating system may initiate I/O operations at any logical block. If host operating system I/O access begins at a logical block that is the start of an underlying physical data block, the I/O access is aligned. Host operating system I/O access with the underlying storage system may become misaligned when the I/O access begins at a logical block that is not at the start of an underlying physical data block. Misaligned I/O access may increase latency and degrade overall storage performance. It is desirable to have a new method and system that allows a storage system to align host operating system I/O access with an underlying storage system in a non-disruptive manner.